//
// Created on 2025/7/22.
//
// Node APIs are not fully supported. To solve the compilation error of the interface cannot be found,
// please include "napi/native_api.h".

#ifndef AVCODECVIDEO_AUDIOASSET_H
#define AVCODECVIDEO_AUDIOASSET_H

#include <string>
#include "Asset.h"

class AudioAsset : public Asset {
public:
    explicit AudioAsset(const std::string& path);
    ~AudioAsset() override = default;
    
    
    void SetIsLoop(bool loop);
    void SetIsMuted(bool muted);
    void SetVolume(int32_t);
    
    bool IsLoop();
    bool IsMuted();
    int32_t GetVolume();
    
private:
    bool m_isLoop{true};
    bool m_isMuted{false};
    int32_t m_volume{50};
};


#endif //AVCODECVIDEO_AUDIOASSET_H
